define(['jquery'],function($){
    function LoginModal(){
      this.render();
      this.genCode();
    }
    $.extend(LoginModal.prototype,{
       render(){
        $('.loginBox').load('../html/header-modal.html #loginModal',
           $.proxy(this.addListener,this)
        );
       
       },
        addListener(){
            //点击登录
            $("#onLogin").on("click",this.loginHandler);
            //点击切换验证码
            $('.gen-code').on('click',this.genCode);
            //验证验证码.blur事件
            $("#loginValidataCode").on('blur',this.validateCodeHandler)
        },
        loginHandler(){
           
            const url='/api/users/login',
            data=$("#loginForm").serialize();
            console.log(data);
       
            $.post(url,data,(data)=>{
           
                if(data.res_body.status===0){//登录失败
                    $('.login-error').removeClass("hidden");
                }else{//登录成功
                  
                    //保存进sessionStorage
                    const username= data.res_body.data.username;
                
                    sessionStorage.loginUser =username;
                    //关闭登录模态框
                    $("#loginModal").modal('hide');
                            $('.already-login').removeClass('hidden')
                                                .find('.link-username').text(username).end()
                                                .siblings('.not-login').remove();
                      
                    
                }
            })
            return false;
        },
        genCode(){
            $.getJSON('/gen_code',(resData)=>{
                $('.gen-code').html(resData.res_body.data)
            })
        },
        //验证码校验
        validateCodeHandler(event){
            const code=$(event.target).val();
            //jiaoyan
            $.getJSON('/verify',{code},(data)=>{
                if(data.res_body.valid !== true){
                    $(".code-error").removeClass('hidden')
                }else{
                    $(".code-error").addClass('hidden')
                }
            })
        }


    })
    return new LoginModal();
})